#pragma once

#include "guildservicequery.service.GuildServiceQuery.h"

class GuildServiceQueryImpl : public GuildServiceQuery {
public:
//implementation->
    GuildServiceQueryImpl();
    virtual ~GuildServiceQueryImpl();
    virtual bool onAfterFork(rpc::Rpc* rpc) override;
    virtual bool onBeforeDestory(rpc::Rpc* rpc) override;
    virtual void onTick(std::time_t ms) override;
    virtual void onServiceCall(rpc::StubCallPtr callPtr) override;
    virtual std::shared_ptr<GetGuildBriefRes> GetGuildBrief(rpc::StubCallPtr call, const GetGuildBriefArg&) override;
    virtual std::shared_ptr<GetGuildMemberRes> GetGuildMember(rpc::StubCallPtr call, const GetGuildMemberArg&) override;
    virtual std::shared_ptr<SearchGuildRes> SearchGuild(rpc::StubCallPtr call, const SearchGuildArg&) override;
    virtual std::shared_ptr<GetGuildBriefListRes> GetGuildBriefList(rpc::StubCallPtr call, const GetGuildBriefListArg&) override;
    virtual std::shared_ptr<GetGuildApplicationRes> GetGuildApplication(rpc::StubCallPtr call, const GetGuildApplicationArg&) override;
    virtual std::shared_ptr<GetGuildMembersRes> GetGuildMembers(rpc::StubCallPtr call, const GetGuildMembersArg&) override;
    virtual std::shared_ptr<GetGuildRepositoryRoleViewRes> GetGuildRepositoryRoleView(rpc::StubCallPtr call, const GetGuildRepositoryRoleViewArg&) override;
    virtual std::shared_ptr<QueryGuildWelfareAwardRes> QueryGuildWelfareAward(rpc::StubCallPtr call, const QueryGuildWelfareAwardArg&) override;
    virtual std::shared_ptr<QueryGuildBuildingInfoRes> QueryGuildBuildingInfo(rpc::StubCallPtr call, const QueryGuildBuildingInfoArg&) override;
    virtual std::shared_ptr<QueryGuildCrystalInfoRes> QueryGuildCrystalInfo(rpc::StubCallPtr call, const QueryGuildCrystalInfoArg&) override;
//implementation<-
};

